﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class DanhMuc_ThemCoSoDoan : System.Web.UI.Page
{
    string madonvi = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        madonvi = MemberShip_ASP.GetMaDonViFromUserName(Page.User.Identity.Name);//lay ma don vi thuoc username dang nhap
        if (madonvi.Substring(0, 3) == "CSD")
        {
            pnloaidonvi.Visible = true;
        }
        else
        {
            pnloaidonvi.Visible = false;
        }
        if (!IsPostBack)
        {
            CatalogAccess.BindItemToDropDown(drlThuockhoi, 1014);
            btnclose.Attributes.Add("onClick", "javascript:history.back(); return false;");
            string deprcode = Request.QueryString["deprcode"];
            if (deprcode != null)
            {
                SecurityLib.Sec_AES _ps = new SecurityLib.Sec_AES();
                LoadDataUpdate(_ps.Decrypt(deprcode.Trim().Replace(" ", "+"),"gold",128));
            }
            else
            {
                LoadDataAdd();
                btnclose.Visible = false;
            }
        }
    }
    private void LoadDataAdd()
    {
        lbltitle.Text = "Thêm mới đơn vị";
        txtmadonvi.Text = string.Format("{0:0000}",CatalogAccess.GetLastMaDonViOfDonViTrucThuong(madonvi,4));
    }
    private void LoadDataUpdate(string id)
    {
        lbltitle.Text = "Cập nhật đơn vị";
        txtmadonvi.ReadOnly = true;
        _dbDataContext _db = new _dbDataContext();
        var val = _db.tblCoSoDoans.Single(r=>r.MaDonVi.Trim().ToUpper()==id.ToUpper());
        txtmadonvi.Text = val.MaDonVi.Trim();
        txttendonvi.Text = val.TenDonVi.Trim();
        if (val.LoaiDonVi == 81)
            doancoso.Checked = true;
        else
            chidoancoco.Checked = true;
        txtdiachi.Text = val.DiaChi.Trim();
        txtdienthoaiban.Text = val.DienThoaiBan.Trim();
        txtdidong.Text = val.DienThaoiDiDong.Trim();
        txtfax.Text = val.Fax.Trim();
        txtemail.Text = val.Email.Trim();
        txtwebsite.Text = val.Website.Trim();
        txtlanhdao.Text = val.LanhDao.Trim();
        txtnghiquyet.Text = val.NghiQuyet.Trim();
        drlThuockhoi.SelectedValue = val.DoanKhoiID.ToString().Trim();
        try
        {
            txtngaythanhlap.Text = DateTime.Parse(val.NgayThanhLap.ToString()).ToString("dd/MM/yyyy");
        }
        catch { }
    }

    private void InsertCoSoDoan()
    {
        if (txtmadonvi.Text.Length == 0 || txttendonvi.Text.Length == 0 || txtdiachi.Text.Length == 0 || txtlanhdao.Text.Length == 0 || drlThuockhoi.SelectedValue.ToString()=="-1")
        {
            lblmessege.Text = "Nhập đầy đủ các thông tin bắt buộc trước khi lưu!";
        }
        else
        {
            bool success = CatalogAccess.InsertDoanCoSo(txtmadonvi.Text, txttendonvi.Text, txtdiachi.Text, txtdienthoaiban.Text, txtdidong.Text, txtfax.Text, txtemail.Text, txtwebsite.Text, txtlanhdao.Text, txtnghiquyet.Text, txtngaythanhlap.Text,madonvi,int.Parse(drlThuockhoi.SelectedValue.ToString()),(doancoso.Checked==true?81:82)); //them moi co so doan se thuc don vi co tai khoang dang đăng nhập
            if (success)
            {
                var listOfUserControls = GetTextBoxControls(Page);
                foreach (TextBox ctrl in listOfUserControls)
                {
                    ctrl.Text = "";
                }
                lblmessege.Text = "Đã thêm thành công cơ sở đoàn";
                txtmadonvi.Text = string.Format("{0:0000}", CatalogAccess.GetLastMaDonViOfDonViTrucThuong(madonvi,4));
            }
            else
            {
                lblmessege.Text = "Không thêm đươc cơ sở đoàn";
            }
        }
    }
    private void UpdateCoSoDoan()
    {
        if (txtmadonvi.Text.Length == 0 || txttendonvi.Text.Length == 0 || txtdiachi.Text.Length == 0 || txtlanhdao.Text.Length == 0)
        {
            lblmessege.Text = "Nhập đầy đủ các thông tin bắc buộc trước khi lưu!";
        }
        else
        {
            bool success = CatalogAccess.UpdateDoanCoSo(txtmadonvi.Text, txttendonvi.Text, txtdiachi.Text, txtdienthoaiban.Text, txtdidong.Text, txtfax.Text, txtemail.Text, txtwebsite.Text, txtlanhdao.Text, txtnghiquyet.Text, txtngaythanhlap.Text, madonvi, int.Parse(drlThuockhoi.SelectedValue.ToString()), (doancoso.Checked == true ? 81 : 82));
            if (success)
            {
                lblmessege.Text = "Cập nhật thành công cơ sở đoàn";
                LoadDataUpdate(txtmadonvi.Text);
            }
            else
            {
                lblmessege.Text = "Không cập nhật đươc cơ sở đoàn";
            }
        }
    }
    public List<TextBox> GetTextBoxControls(Control ctrl)
    {
        var uCtrls = new List<TextBox>();
        foreach (Control child in ctrl.Controls)
        {
            if (child is TextBox) uCtrls.Add((TextBox)child);
            uCtrls.AddRange(GetTextBoxControls(child));
        }
        return uCtrls;
    }
    protected void btnadd_Click1(object sender, EventArgs e)
    {
        string deprcode = Request.QueryString["deprcode"];
        if (deprcode != null)
        {
            UpdateCoSoDoan();
        }
        else
        {
            InsertCoSoDoan();
        }
    }
}